home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / AmiVoGL_MDEV.lha / drivers / amiga.doc < prev    next >
Text File  |  1994-04-21  |  3KB  |  115 lines

  1.   Amiga Driver Document
  2.   Author: Dr. Charles E. Campbell, Jr.
  3.  
  4.  
  5.   The Amiga/Vogl Screen and Window
  6.  
  7.     The amiga driver opens a screen and a window
  8.     with the following default properties:
  9.  
  10.         a full size screen (based on your workbench screen size)
  11.         four bitplanes (ie. 16 colors)
  12.         single buffer mode
  13.         high resolution
  14.         interlaced
  15.         borderless window
  16.  
  17.  
  18.   Optional Configuration
  19.  
  20.     You may call AMIGA_config(char *config) prior to calling
  21.     winopen() to modify the default screen configuration.  The
  22.     configuration string is composed of single letter "commands":
  23.  
  24.         b = give window a border
  25.         d = double buffer mode
  26.         e = extra halfbrite mode
  27.         h = ham mode
  28.         s = single buffer mode (default)
  29.         1 = one bit plane
  30.         2 = two bit planes
  31.         3 = three bit planes
  32.         4 = four bit planes
  33.         5 = five bit planes
  34.  
  35.     If the window is not borderless, then vogl's
  36.  
  37.         winopen(char *title)
  38.  
  39.     function will yield a titled window.
  40.  
  41.  
  42.   Amiga/Vogl Graphics Data Structures
  43.  
  44.     The vogl winopen() calls upon AMIGA_init() to initialize
  45.     graphics on the amiga.  The AMIGA_init() function sets
  46.     up data structures in chip memory which the programmer
  47.     may use for his/her own purposes.
  48.  
  49.         WORD                 *voglareaBuffer
  50.         struct BitMap        *voglback
  51.         struct BitMap        *voglfront
  52.         struct DiskFontBase  *DiskfontBase
  53.         struct GfxBase       *GfxBase
  54.         struct IntuiText     *voglitext
  55.         struct IntuitionBase *IntuitionBase
  56.         struct IOStdReq      *vogl_cd_ioreq
  57.         struct Library       *ConsoleDevice
  58.         struct RastPort      *voglrastport
  59.         struct Screen        *voglscreen
  60.         struct TextAttr      *vogltextattr
  61.         struct TmpRas        *vogltmpras
  62.         struct Window        *voglwindow
  63.  
  64.     Thus, this amiga driver could be used directly rather
  65.     than via vogl, as all of the important variables are
  66.     globally visible.
  67.  
  68.     The AMIGA_exit() function cleans up all of the memory
  69.     allocated by AMIGA_init().
  70.  
  71.  
  72.   Hershey Fonts
  73.  
  74.     The Hershey font functions have been fixed for the
  75.     Amiga so that they, too, are available.  All of the
  76.     programs in the examples directory have been compiled
  77.     and tested.
  78.  
  79.  
  80.   Hardware Fonts
  81.  
  82.     The Amiga/Vogl hardware font loader (AMIGA_font) uses
  83.     the following convention to specify fonts:
  84.  
  85.         fontname;height[;{BEIPU}]
  86.  
  87.     The fontname and height are required; the modifiers (BEIPU)
  88.     are not.  The modifiers' meanings are:
  89.  
  90.         B == bold
  91.         E == extended
  92.         I == italic
  93.         P == plain (default)
  94.         U == underlined
  95.  
  96.     Vogl starts up with two fonts: the "small" hardware font
  97.     (id of 0) and the "large" hardware font (id of 1).  The Amiga/vogl
  98.     driver initializes these fonts to:
  99.  
  100.         small hardware font: "topaz;9;P"
  101.         large hardware font: "topaz;11;P"
  102.  
  103.     For whatever reason, Vogl typically allows only one font.  The
  104.     winopen()/ginit() functions set
  105.  
  106.         vdevice.maxfontnum = 2
  107.  
  108.     To use more Amiga fonts, you'll need to change vdevice.maxfontnum
  109.     and to load the fonts using AMIGA_fontname(char *fontspec)
  110.     directly.  Obviously, this stratagem will not port to GL or other
  111.     Vogl platforms.  The AMIGA_fontname() function was designed to
  112.     handle an arbitrary quantity of fonts.  This function only
  113.     loads new fonts as needed; already loaded fonts are re-used
  114.     properly.
  115.